← Index
NYTProf Performance Profile   
For index.cgi
  Run on Sat May 9 17:18:47 2020
Reported on Sat May 9 17:19:07 2020

Filename(eval 33)[/usr/local/share/perl/5.18.2/Sub/Quote.pm:3]
StatementsExecuted 76 statements in 985µs
Eval Invoked At/usr/local/share/perl/5.18.2/Sub/Quote.pm line 3
Sibling evals1, 2
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
332171µs11.0msString::Markov::::new String::Markov::new
11139µs39µsMethod::Generate::Constructor::::BEGIN@22Method::Generate::Constructor::BEGIN@22
11125µs42µsSub::Quote::::BEGIN@16 Sub::Quote::BEGIN@16
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
222µs my $default_for_normalize = ${$_[1]->{"\$default_for_normalize"}};
31400ns my $default_for_do_5fchomp = ${$_[1]->{"\$default_for_do_5fchomp"}};
41400ns my $isa_check_for_transition_5fcount = ${$_[1]->{"\$isa_check_for_transition_5fcount"}};
51400ns my $isa_check_for_order = ${$_[1]->{"\$isa_check_for_order"}};
61600ns my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
71500ns my $default_for_split_5fsep = ${$_[1]->{"\$default_for_split_5fsep"}};
81400ns my $isa_check_for_row_5fsum = ${$_[1]->{"\$isa_check_for_row_5fsum"}};
91300ns my $default_for_order = ${$_[1]->{"\$default_for_order"}};
101300ns my $default_for_transition_5fcount = ${$_[1]->{"\$default_for_transition_5fcount"}};
111400ns my $default_for_row_5fsum = ${$_[1]->{"\$default_for_row_5fsum"}};
121400ns my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
131400ns my $default_for_stable = ${$_[1]->{"\$default_for_stable"}};
141400ns my $default_for_null = ${$_[1]->{"\$default_for_null"}};
151400ns my $default_for_join_5fsep = ${$_[1]->{"\$default_for_join_5fsep"}};
16297µs260µs
# spent 42µs (25+18) within Sub::Quote::BEGIN@16 which was called: # once (25µs+18µs) by Sub::Quote::_clean_eval at line 16
no warnings 'closure';
# spent 42µs making 1 call to Sub::Quote::BEGIN@16 # spent 18µs making 1 call to warnings::unimport
17 package String::Markov;
18
# spent 11.0ms (171µs+10.8) within String::Markov::new which was called 3 times, avg 3.67ms/call: # once (18µs+10.7ms) by main::RUNTIME at line 17 of index.cgi # once (82µs+93µs) by main::RUNTIME at line 38 of index.cgi # once (72µs+76µs) by main::RUNTIME at line 67 of Sub/Defer.pm
sub new {
19 ($_QUOTED,$_UNQUOTED) if 0;
20# BEGIN quote_sub PRELUDE
21package Method::Generate::Constructor;
22
# spent 39µs within Method::Generate::Constructor::BEGIN@22 which was called: # once (39µs+0s) by Sub::Quote::_clean_eval at line 27
BEGIN {
2312µs $^H = "2018";
241500ns ${^WARNING_BITS} = "UUUUUUUUUUUUUU\025";
25139µs %^H = (
26 );
271686µs139µs}
# spent 39µs making 1 call to Method::Generate::Constructor::BEGIN@22
28# END quote_sub PRELUDE
2945µs my $class = ref($_[0]) ? ref(shift) : shift; if ($class ne "String::Markov") {
30 if ($Moo::MAKERS{$class}) {
31 if ($Moo::MAKERS{$class}{constructor}) {
32 package String::Markov;
33 return $class->SUPER::new(@_);
34 }
35 Moo->_constructor_maker_for($class);
36 return $class->new(@_);
37 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
38 return $meta->new_object(
39 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
40 : $class->Moo::Object::BUILDARGS(@_)
41 );
42 }
43 }
44220µs2104µs my $args = $class->BUILDARGS(@_);
# spent 104µs making 2 calls to String::Markov::BUILDARGS, avg 52µs/call
4522µs die "BUILDARGS did not return a hashref" unless ref($args) eq 'HASH';
4623µs my $new = bless({}, $class);;
47($new->{"do_chomp"} = (
48 exists $args->{"do_chomp"}
49 ? $args->{"do_chomp"}
50 : $default_for_do_5fchomp->($new))),($new->{"join_sep"} = (
51 exists $args->{"join_sep"}
52 ? $args->{"join_sep"}
53 : $default_for_join_5fsep->($new))),($new->{"normalize"} = (
54 exists $args->{"normalize"}
55 ? $args->{"normalize"}
56 : $default_for_normalize->($new))),($new->{"null"} = (
57 exists $args->{"null"}
58 ? $args->{"null"}
5922µs : $default_for_null->($new))),($new->{"order"} = scalar do { my $value = (
60 exists $args->{"order"}
61 ? $args->{"order"}
62 : $default_for_order->($new));
6322µs (do {
6426µs local $Method::Generate::Accessor::CurrentAttribute = {
65 init_arg => "order",
66 name => "order",
67 step => "isa check",
68 };
6922µs (my $_error), (my $_old_error = $@);
7022µs (eval {
7126µs223µs ($@ = $_old_error),
# spent 23µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:20], avg 12µs/call
72 ($isa_check_for_order->($value)),
73 1
74 } or
75 $_error = ref $@ ? $@ : "isa check for \"order\" failed: ".$@);
7624µs ($@ = $_old_error),
77 (defined $_error and die $_error);
78}
79),
80 $value
81}
8225µs24µs),($new->{"row_sum"} = scalar do { my $value = (
# spent 4µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:30], avg 2µs/call
83 exists $args->{"row_sum"}
84 ? $args->{"row_sum"}
85 : $default_for_row_5fsum->($new));
8622µs (do {
8724µs local $Method::Generate::Accessor::CurrentAttribute = {
88 init_arg => "row_sum",
89 name => "row_sum",
90 step => "isa check",
91 };
9221µs (my $_error), (my $_old_error = $@);
9321µs (eval {
9425µs25µs ($@ = $_old_error),
# spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:29], avg 3µs/call
95 ($isa_check_for_row_5fsum->($value)),
96 1
97 } or
98 $_error = ref $@ ? $@ : "isa check for \"row_sum\" failed: ".$@);
9923µs ($@ = $_old_error),
100 (defined $_error and die $_error);
101}
102),
103 $value
104}
105),($new->{"split_sep"} = (
106 exists $args->{"split_sep"}
107 ? $args->{"split_sep"}
108 : $default_for_split_5fsep->($new))),($new->{"stable"} = (
109 exists $args->{"stable"}
110 ? $args->{"stable"}
111455µs1030µs : $default_for_stable->($new))),($new->{"transition_count"} = scalar do { my $value = (
# spent 14µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:14], avg 7µs/call # spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:15], avg 3µs/call # spent 5µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:16], avg 2µs/call # spent 3µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:17], avg 2µs/call # spent 2µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:30], avg 1µs/call
112 exists $args->{"transition_count"}
113 ? $args->{"transition_count"}
114 : $default_for_transition_5fcount->($new));
11521µs (do {
11624µs local $Method::Generate::Accessor::CurrentAttribute = {
117 init_arg => "transition_count",
118 name => "transition_count",
119 step => "isa check",
120 };
12121µs (my $_error), (my $_old_error = $@);
12221µs (eval {
12322µs22µs ($@ = $_old_error),
# spent 2µs making 2 calls to String::Markov::__ANON__[String/Markov.pm:29], avg 1µs/call
124 ($isa_check_for_transition_5fcount->($value)),
125 1
126 } or
127 $_error = ref $@ ? $@ : "isa check for \"transition_count\" failed: ".$@);
12822µs ($@ = $_old_error),
129 (defined $_error and die $_error);
130}
131),
132 $value
133}
134), return $new;
135 }
13612µs $$_UNQUOTED = \&new
137}
138110µs1;
139
140;